#ifndef __INPUT_H__
#define __INPUT_H__

#include "stdafx.h"
#include <vector>
#include "vec2.h"

namespace GeorgeLib
{

	class DLLEXPORT Input
	{
	public:
		Input();
		void KeyboardFunc(uchar key, int x, int y);
		void KeyboardUpFunc(uchar key, int x, int y);
		void SpecialFunc(int key, int x, int y);
		void SpecialUpFunc(int key, int x, int y);
		void MouseFunc(int button, int state, int x, int y);
		void MotionFunc(int x, int y);
		void PassiveMotionFunc(int x, int y);

		vec2 mousePos;

		enum {
			LEFT = 0, MIDDLE, RIGHT, WHEEL_UP, WHEEL_DOWN,
			MOUSE_MAX, SPECIAL_MAX = 21, KEYS_MAX = 255
		};
		bool keys[KEYS_MAX], special[SPECIAL_MAX], mouse[MOUSE_MAX];
	};

} // namespace GeorgeLib

#endif